The present invention generally relates to data processing and, more particularly, to normalizing data as part of a database restore.
Databases are computerized information storage and retrieval systems. A relational database management system is a computer database management system (DBMS) that uses relational techniques for storing and retrieving data. An object-oriented programming database is a database that is congruent with the data defined in object classes and subclasses. Regardless of the particular architecture, a requesting entity (e.g., an application or the operating system) in a DBMS requests access to a specified database by issuing a database access request. Such requests may include, for instance, simple catalog lookup requests or transactions and combinations of transactions that operate to read, change and add specified records in the database. These requests (i.e., queries) are often made using high-level query languages such as the Structured Query Language (SQL). Upon receiving such a request, the DBMS may execute the request against a corresponding database, and return any result of the execution to the requesting entity.
As modern databases often operate under strenuous workloads, database optimization is important to ensure that such workloads may be processed in a reasonable amount of time. One technique for optimizing a database is to optimize based on the data contained in the database and relationships between data in the database. However, such a technique may be disadvantageous, as it only accounts for the data intended to be stored in the database, regardless of how the database is used in practice. Furthermore, any such technique may require the database to be offline or otherwise inaccessible for a period of time while changes are applied to the database. However, many businesses may consider additional downtime unacceptable in production environments.